From: Michael Flad,BL.maus To: Stefan Müller Receive-Date: Sonntag, 22-Dez-96 09:55:14 Creation-Date: Dienstag, 17-Dez-96 20:30:00 Message-ID: 199612172030.p42165@bl.maus.de Date: 17.12.1996 20:30 References: 199612151225.p33253@mk2.maus.de Subject: ReadArgs. Attributes: MAUS_STAT "Nicht_gelesen: 19.12.1996 19:02" UserFlags: WriteAccess ReadAccess ViewAccess GlobalFlags: Exported Hi, SM> Bei ReadArgs() hast Du auch nach jedem Mal den Buffer zurückgesetzt? SM> Steht in den Autodocs als Fehlerquelle. natürlich ... aber ich hab den Fehler gefunden, ist echt fast unglaublich, vor allem, daß es bisher so selten Probs damit gab ;) Ich mach mit dem ganzen eine ScriptSprache und hab dazu einmal ein Template in dem alle Befehle selbst stehen, wenn ich dann also ne Befehlszeile Parse, dann wird der entsprechende Befehl ja gefunden (ist für ein Adventure also sowas wie GETITEM/K). Wenn ich dann den Befehl rausgefunden hab (erkennbar daran, welcher Pointer des übergebenen Array nicht mehr auf meinem Default Wert steht) parse ich den nochmal mit seiner gesamten Syntax (z.B. GETITEM/K,ITEMNAME/K) und mein großer Fehler war, zu Glauben, daß ReadArgs nur Fehler zurückliefert, wenn z.B. bei einem /K das zusätzliche Keyword das angegeben werden müssten z.B. eben GETITEM=Flasche fehlt, ich dachte nicht, daß es auch fehlschlägt, wenn nicht der komplette zu parsende String aufgelöst werden kann (das konnte bei mir ja nieee der Fall sein). Leider hat ReadArgs natürlich gar nichts zurückgesetzt und die ganze Sache hat fast anstandslos funktioniert, obwohl ich auf Speicherbereiche die von ReadArgs bereits wieder freigegeben wurden, zugegriffen habe, nur meine DebugPrintfs haben halt evtl. zufällig gerade den Bereich überschrieben ;) Naja, jetzt hab ich das Prob gelöst, in dem ich einfach jeden Befehl mit der kompletten Syntax abparse, muß ich halt für jeden Befehl jedesmal die komplette Syntax abchecken, aber hauptsache es geht. Bye Michael --------------------------------------